﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Fast.Framework.Models
{
    /// <summary>
    /// Sql信息
    /// </summary>
    public class SqlInfo
    {

        /// <summary>
        /// Sql堆栈
        /// </summary>
        public Stack<string> SqlStack { get; }

        /// <summary>
        /// 对象键值
        /// </summary>
        public Dictionary<string, string> NewKeyValues { get; }

        /// <summary>
        /// 对象名称
        /// </summary>
        public List<string> NewNames { get; }

        /// <summary>
        /// 对象值
        /// </summary>
        public List<string> NewValues { get; }

        /// <summary>
        /// 对象作为映射
        /// </summary>
        public List<string> NewAsMapper { get; }

        /// <summary>
        /// 对象赋值映射
        /// </summary>
        public List<string> NewAssignMapper { get; set; }

        /// <summary>
        /// Sql参数
        /// </summary>
        public Dictionary<string, object> SqlParameters { get; }

        /// <summary>
        /// 构造方法
        /// </summary>
        public SqlInfo()
        {
            SqlStack = new Stack<string>();
            SqlParameters = new Dictionary<string, object>();
            NewKeyValues = new Dictionary<string, string>();
            NewNames = new List<string>();
            NewValues = new List<string>();
            NewAsMapper = new List<string>();
            NewAssignMapper = new List<string>();
        }
    }
}
